20章 ソフトウェアの品質
tommy.icon
ソフトウェアの品質改善技術をコンストラクションの視点から調査する
20.1 ソフトウェアの品質特性
外部特性
正当性
仕様、設計、実装の不具合のなさ
使用性
システムの習得や使用の容易さ
効率性
リソースの消費を最小限に抑える度合い
信頼性
必要に応じて必要な機能を、規定の条件下で実行できる能力
完全性
データに対する不正なアクセスを阻止できる度合い
適応性
変更せずに使用できる容易さ
正確性
構築時のエラーのなさ
堅牢性
無効な入力や負荷の高い環境下で機能し続けられる程度
内部特性
保守性
機能の変更・追加、パフォーマンス改善、不具合の修正に関する変更のしやすさ
柔軟性
本来の用途、専用に設計された環境以外で使用する場合の変更のしやすさ
移植性
専用に設計された以外の環境下で運用する場合の変更のしやすさ
再利用性
他のシステムで利用できるパーツが含まれている度合いと再利用のしやすさ
可読性
読んだときの理解のしやすさ
テスト性
単体テストやシステムテストを行える程度
理解性
構成のレベルと個々のステートメントレベルでの理解のしやすさ
内部特性と外部特性はお互いに影響し合う
ある特性を強めると衝突する
20.2 ソフトウェアの品質改善技術
ソフトウェアの品質保証は、システムに想定されたとおりの機能を持たせるために計画され設計された、一連の作業を体系的にまとめたプログラム
要素
ソフトウェアの品質目標
品質保証のための作業の明示
tommy.icon Global GaryとかHigh-Quality Henryってなんだ
テスト戦略
ソフトウェアエンジニアリングのガイドライン
非公式なテクニカルレビュー
公式なテクニカルレビュー
tommy.icon 「最も価値の低い」段階での問題の特定、やっていれば良かったと思うことしきり
外部監査
開発プロセス
変更管理手順
結果の評価
目標の設定
20.3 ソフトウェアの品質改善技術の相対的な効果
欠陥の検出率
単独では威力を発揮しない
tommy.icon XPつよつよだ
20.4 品質保証はいつ行うか
早い段階でプロジェクト全体で一貫して行うべき
20.5 ソフトウェア品質の原則
プログラムのエラーが最も多かったのは中間付近の時間で書き上げられたもの